home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2004 August / The Sunday Times - The Month 2004-08.iso / pc / engine / modules / download_file.swf / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2004-07-02  |  8.6 KB  |  244 lines

  1. function loadImage(mc, node, extrapath)
  2. {
  3.    var _loc3_ = extrapath;
  4.    if(_loc3_ == null)
  5.    {
  6.       _loc3_ = "";
  7.    }
  8.    var strDefaultPath = Tardis.ASSETS_FOLDER + "images/" + Tardis.ActiveSection.id + "/";
  9.    var _loc1_ = node.firstChild.nodeValue;
  10.    var _loc2_ = node.attributes.path;
  11.    if(_loc2_ != null)
  12.    {
  13.       _loc1_ = _loc2_ + _loc1_;
  14.    }
  15.    else
  16.    {
  17.       _loc1_ = strDefaultPath + _loc3_ + _loc1_;
  18.    }
  19.    if(strPathPrefix == null)
  20.    {
  21.       strPathPrefix = "";
  22.    }
  23.    mc.loadMovie(strPathPrefix + _loc1_);
  24. }
  25. function init()
  26. {
  27.    _visible = true;
  28.    text_mc._visible = false;
  29.    isTerms = false;
  30.    build();
  31. }
  32. function build()
  33. {
  34.    SCROLLBOX_INIT_POS = 58;
  35.    TEXT_POS = 2;
  36.    CONTENT_POS = 0;
  37.    var strID = Tardis.ActiveSection.id;
  38.    var Colors = Tardis.Colors;
  39.    strSECTION_COLOR = Colors.getString(strID);
  40.    SECTION_COLOR = Colors.getHex(strID);
  41.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  42.    SECTION_COLOR50 = Colors.getHex(strID + "50");
  43.    DEFAULT_COLOR = Colors.getHex("default");
  44.    DEFAULT_COLOR50 = Colors.getString("default50");
  45.    THUMB_PATH = nodeData.attributes.thumbpath;
  46.    TYPE = nodeData.attributes.type;
  47.    if(type == "half")
  48.    {
  49.       x = 0;
  50.       while(x < nodeData.childNodes.length)
  51.       {
  52.          nData = nodeData.childNodes[x];
  53.          this.attachMovie("item_mc","item_" + x,depth++);
  54.          itemToEffect = eval("this.item_" + x);
  55.          loadImage(this["item_" + x].img_mc,nData.byname("image"),THUMB_PATH);
  56.          itemToEffect.download_btn.title_mc.title_FF.htmlText = nData.byName("buttons").byName("download").getText();
  57.          itemToEffect.download_btn.title_mc.title_FF.autoSize = "left";
  58.          itemToEffect.download_btn.title_mc.arw._x = itemToEffect.download_btn.title_mc.title_FF._x + itemToEffect.download_btn.title_mc.title_FF._width + 6;
  59.          itemToEffect.file = nData.byName("file").getText();
  60.          itemToEffect.filetype = nData.byName("file").attributes.type;
  61.          itemToEffect.path = nData.byName("file").attributes.path;
  62.          itemToEffect.terms_mc._visible = false;
  63.          itemToEffect.isTerms = false;
  64.          if(nData.byName("terms").byName("title").getText() != null)
  65.          {
  66.             itemToEffect.terms_mc._visible = true;
  67.             itemToEffect.isTerms = true;
  68.             itemToEffect.terms_mc.btn.onRelease = showTerms;
  69.             terms_mc.attachMovie("terms_holder","terms_" + x,depth++);
  70.             termsToEffect = eval("terms_mc.terms_" + x);
  71.             termsToEffect._x = 10;
  72.             termsToEffect._y = 0;
  73.             termsToEffect.title_txt.htmlText = nData.byName("terms").byName("title").getText();
  74.             termsToEffect.title_txt.textColor = SECTION_COLOR;
  75.             termsToEffect.body_txt.htmlText = parseBoldTags(nData.byName("terms").byName("body").getText());
  76.             termsToEffect.body_txt.textColor = DEFAULT_COLOR;
  77.             termsToEffect.body_txt.autoSize = true;
  78.             if(termsToEffect._height > 175)
  79.             {
  80.                termsToEffect.body_txt._width -= 10;
  81.                termsToEffect.body_txt.autoSize = true;
  82.                terms_mc.attachMovie("FScrollPaneSymbol","contentScroll_" + x,depth++);
  83.                scrollToEffect = eval("terms_mc.contentScroll_" + x);
  84.                scrollToEffect._x = 10;
  85.                scrollToEffect._y = 10;
  86.                scrollToEffect.setSize(350,175);
  87.                scrollToEffect.setHScroll(false);
  88.                scrollToEffect.setScrollContent(termsToEffect);
  89.                scrollToEffect._visible = false;
  90.             }
  91.             else
  92.             {
  93.                termsToEffect._visible = false;
  94.             }
  95.          }
  96.          this["item_" + x].download_btn.onRollOver = btnOver;
  97.          this["item_" + x].download_btn.onRollOut = btnOut;
  98.          this["item_" + x].download_btn.onRelease = downloadFile;
  99.          this["item_" + x]._x = (x + 1) * 10 + x * 170;
  100.          this["item_" + x]._y = 10;
  101.          x++;
  102.       }
  103.       terms_mc.close_btn.close_txt.htmlText = nodeData.attributes.closebtn;
  104.       terms_mc.close_btn.close_txt.textColor = DEFAULT_COLOR;
  105.       terms_mc.close_btn.close_txt.autoSize = "left";
  106.       terms_mc.close_btn.bg._width = 15 + terms_mc.close_btn.close_txt._width;
  107.       terms_mc.close_btn.onRollOver = function()
  108.       {
  109.          this.gotoAndStop("on");
  110.       };
  111.       terms_mc.close_btn.onRollOut = function()
  112.       {
  113.          this.gotoAndStop("off");
  114.       };
  115.       terms_mc.close_btn.onRelease = hideTerms;
  116.       terms_mc.swapDepths(depth++);
  117.       terms_mc._visible = false;
  118.    }
  119.    else
  120.    {
  121.       terms_mc._visible = false;
  122.       nData = nodeData.childNodes[0];
  123.       feedback_txt._y = 370;
  124.       this.attachMovie("item_full_mc","item_mc",depth++);
  125.       item_mc._x = 14;
  126.       item_mc._y = 10;
  127.       loadImage(item_mc.nData.byname("image"),THUMB_PATH);
  128.       item_mc.download_btn.title_mc.title_FF.htmlText = nData.byName("buttons").byName("download").getText();
  129.       item_mc.download_btn.title_mc.title_FF.autoSize = "left";
  130.       item_mc.download_btn.title_mc.arw._x = item_mc.download_btn.title_mc.title_FF._x + item_mc.download_btn.title_mc.title_FF._width + 6;
  131.       item_mc.file = nData.byName("file").getText();
  132.       item_mc.filetype = nData.byName("file").attributes.type;
  133.       item_mc.path = nData.byName("file").attributes.path;
  134.       item_mc.isTerms = false;
  135.       item_mc.terms_mc.btn.onRelease = function()
  136.       {
  137.          item_mc.terms_mc.gotoAndStop("checked");
  138.       };
  139.       if(nData.byName("body").getText() != null)
  140.       {
  141.          item_mc.terms_mc._visible = true;
  142.          item_mc.isTerms = true;
  143.          item_mc.title_txt.htmlText = nData.byName("title").getText();
  144.          item_mc.title_txt.textColor = SECTION_COLOR;
  145.          item_mc.content.body_txt.htmlText = parseBoldTags(nData.byName("body").getText());
  146.          item_mc.content.body_txt.textColor = DEFAULT_COLOR;
  147.          item_mc.content.body_txt.autoSize = true;
  148.          if(item_mc.content._height > 305)
  149.          {
  150.             item_mc.body_txt._width -= 10;
  151.             item_mc.attachMovie("FScrollPaneSymbol","contentScroll",depth++);
  152.             item_mc.contentScroll._x = -5;
  153.             item_mc.contentScroll._y = 30;
  154.             item_mc.contentScroll.setSize(350,295);
  155.             item_mc.contentScroll.setHScroll(false);
  156.             item_mc.contentScroll.setScrollContent(item_mc.content);
  157.          }
  158.          item_mc.download_btn.onRollOver = btnOver;
  159.          item_mc.download_btn.onRollOut = btnOut;
  160.          item_mc.download_btn.onRelease = downloadFile;
  161.       }
  162.    }
  163. }
  164. function downloadFile()
  165. {
  166.    var _loc1_ = this;
  167.    if(_loc1_._parent.termsAgreed || _loc1_._parent.isTerms == false)
  168.    {
  169.       showError("");
  170.       var _loc3_ = _loc1_._parent.path;
  171.       var _loc2_ = _loc1_._parent.file;
  172.       var OS = _loc1_._parent.filetype;
  173.       trace("strPath:" + _loc3_);
  174.       trace("strFile: " + _loc2_);
  175.       if(Tardis.PLAY_MODE != "browser")
  176.       {
  177.          getURL("Lingo:Flsh_downloadFile(\"" + _loc3_ + "\",\"" + _loc2_ + "\"," + OS + ",\"" + _loc1_._parent._parent + "\")","");
  178.       }
  179.    }
  180.    else
  181.    {
  182.       showError("Please read and agree to the terms and conditions.");
  183.    }
  184. }
  185. function downloadError(strMsg)
  186. {
  187.    showError(strMsg);
  188. }
  189. function showError(strError)
  190. {
  191.    with(feedback_txt)
  192.    {
  193.       multiline = true;
  194.       wordWrap = true;
  195.       autoSize = "left";
  196.       text = strError;
  197.    }
  198. }
  199. function btnOver()
  200. {
  201.    var _loc1_ = this;
  202.    _loc1_.myCol = new Color(_loc1_);
  203.    _loc1_.myCol.setRGB(SECTION_COLOR);
  204. }
  205. function btnOut()
  206. {
  207.    var _loc1_ = this;
  208.    _loc1_.myCol = new Color(_loc1_);
  209.    _loc1_.myCol.setRGB(SECTION_COLOR50);
  210. }
  211. function showTerms()
  212. {
  213.    var _loc1_ = this._parent._parent._name.split("_")[1];
  214.    terms_mc.current = _loc1_;
  215.    terms_mc._visible = true;
  216.    terms_mc["terms_" + _loc1_]._visible = true;
  217.    terms_mc["contentScroll_" + _loc1_]._visible = true;
  218. }
  219. function hideTerms()
  220. {
  221.    showError("");
  222.    this._parent._visible = false;
  223.    terms_mc["terms_" + terms_mc.current]._visible = false;
  224.    terms_mc["contentScroll_" + terms_mc.current]._visible = false;
  225. }
  226. function parseBoldTags(str)
  227. {
  228.    var _loc1_ = str;
  229.    var _loc2_ = _loc1_.indexOf("<b>");
  230.    if(_loc2_ != -1)
  231.    {
  232.       var _loc3_ = _loc1_.indexOf("</b>");
  233.       var word = _loc1_.substring(_loc2_ + 3,_loc3_);
  234.       var beginning = _loc1_.substring(0,_loc2_);
  235.       var end = _loc1_.substring(_loc3_ + 4);
  236.       return beginning + "<font face=\'FranklinGotURWTDem\'>" + word + "</font>" + parseBoldTags(end);
  237.    }
  238.    return _loc1_;
  239. }
  240. _visible = false;
  241. onReady();
  242. onComplete();
  243. stop();
  244.